创建链接服务器
exec
sp_addlinkedserver
'ITSV' ,
' ' ,
'SQLOLEDB' ,
'192.168.0.237' --sql服务器ip地址
exec
sp_addlinkedsrvlogin
'ITSV'
,
'false'
,
null
,
'sa' --用户名
,
'123' --密码
select* from ITSV.XYMES_AiQi.AreaInfo
--执行删除ITSV,不使用时需要删除否则下次执行会报错(存在)
exec
sp_dropserver
'ITSV'
,
'droplogins'
连接远程/局域网数据(openrowset/openquery/opendatasource)
1.openrowset
–查询示例
select * from
openrowset(
'SQLOLEDB '
,
'192.168.0.237' --sql服务器名ip地址
;
'sa' --用户名
;
'123' --密码
,[XYMES_AiQi].[dbo].[AreaInfo]) --数据库名.dbo.表名
–生成本地表
select * into
AreaInfo --表
from
openrowset(
'SQLOLEDB '
,
'192.168.0.237' --sql服务器名ip地址
;
'sa' --用户名
;
'123' --密码
,[XYMES_AiQi].[dbo].[AreaInfo]) --数据库名.dbo.表名
–把本地表导入远程表
insert
openrowset(
'SQLOLEDB '
,
'192.168.0.237' --sql服务器名ip地址
;
'sa' --用户名
;
'123' --密码
,[XYMES_AiQi].[dbo].[AreaInfo]) --数据库名.dbo.表名
select * from [AreaInfo] --本地表
–更新本地表
update b set b.列A=a.列A
from
openrowset(
'SQLOLEDB '
,
'192.168.0.237' --sql服务器名ip地址
;
'sa' --用户名
;
'123' --密码
,[XYMES_AiQi].[dbo].[AreaInfo]) --数据库名.dbo.表名
as a inner join
[AreaInfo] b --本地表
on
a.column1=b.column1
2.openquery用法需要创建一个连接
–创建一个连接创建链接服务器
--创建一个连接创建链接服务器
exec
sp_addlinkedserver
'ITSV '
,
' '
,
'SQLOLEDB '
,
'192.168.0.237' --远程sql服务器名ip地址
–查询
--查询
select * FROM
openquery(ITSV,
'SELECT * [XYMES_AiQi].[dbo].[AreaInfo]' --SELECT * FROM 数据库.dbo.表名
)
–把本地表导入远程表
--把本地表导入远程表
insert
openquery(ITSV,
'SELECT * [XYMES_AiQi].[dbo].[AreaInfo]' --SELECT * FROM 数据库.dbo.表名
)
select * from AreaInfo --本地表
–更新本地表
--更新本地表
update b set b.列B=a.列B FROM
openquery(ITSV,
'SELECT * [XYMES_AiQi].[dbo].[AreaInfo]' --SELECT * FROM 数据库.dbo.表名
)
as a inner join
AreaInfo --本地表
b
on
a.列A=b.列A
3.opendatasource/openrowset
SELECT * FROM
opendatasource(
'SQLOLEDB '
,
'Data Source=192.168.0.237/ServerName;User ID=sa;Password=123' --Data Source=ip/ServerName;User ID=登陆名;Password=密码
).[XYMES_AiQi].[dbo].[AreaInfo] --数据库.dbo.表名
--把本地表导入远程表
insert
opendatasource(
'SQLOLEDB '
,
'Data Source=192.168.0.237/ServerName;User ID=sa;Password=123' --Data Source=ip/ServerName;User ID=登陆名;Password=密码
).[XYMES_AiQi].[dbo].[AreaInfo] --数据库.dbo.表名
select * from [AreaInfo] --本地表
4.EXEC AT使用 必须启动rpc
EXEC
sp_addlinkedserver
'chinancl'
,
' '
,
'SQLOLEDB'
,
'CHINANCL-CMS'
--新建连接
EXEC
sp_addlinkedsrvlogin
'chinancl'
,
'false'
,
null
,
'sa'
,
'sa'
--用户名 密码
EXEC
sp_serveroption
'chinancl'
,
'rpc out'
,
true
--启动RPC
–删除链接登录名
EXEC
(
'create database text '
)
at
[chinancl]
EXEC
(
' use text
create table text (id int)'
)
at
[chinancl]
exec
sp_dropserver
'chinancl'
,
'droplogins'
--删除链接登录名